package com.nlgc365.designpattern.Chapter04_Pattern.Behavior.P04_ChainOfResponsibility.pattern1.ByList;

/**
 * 职责链-链表方式实现
 */
public class HandlerChain {
    // 属性: 头节点
    private Handler head;
    // 属性: 尾节点
    private Handler tail;

    // 函数: 加入节点
    public void addHandler(Handler handler) {
        // head是否为null
        if (head == null) {
            head = handler;
            tail = head;
            return;
        }
        tail.setSuccessor(handler);
        tail = handler;
    }

    // 函数: handle函数
    public void handle() {
        head.handle();
    }
}
